Initial commit.
Imporived functionality
Simplified to accept only Strings
Test cleanup
Improvements