refactor project splices to operate in two phases