File reorganization.
Added some unit tests.
Just missing print functionality
Working like a charm.