got basic code working.  need to get projection and refactoring done