How to build and work with a distributed team