Changed file naming convention
Added unit tests, and API layer