General code refactor, next step into our new package organization