Refactoring
Reorganization
Tests
Updated Makefile