What are the best tools for doing this? what are their strengths and weaknesses if we were working on a large project?