started restructuring for first release. still failing tests