Second pass on organization and fixes

Updated the build to work again and changed the project structure and
naming to be more approachable for future extension work.