updated to support buildable refactor