Distributed work: 3 challenges, 3 solutions