reorganized code to be more extensible
Merge pull request #2 from Ell/master

Reorganized project