refactor out some of the code in soasta_dev