Working buid after intitial refactor