added tests, examples and helper methods
uniform indentation using sublime-codeformatter