whats the best way to communicate interprocess?