refactored, multiproject build