WIP reflect refactor, most stuff building