add better naming + type sig - refactoring
add more comment headers
fix indentation
current hacking up to now. Everything is broken.
remove main function implementation + comments

I decided I should write a module instead of a program
and in this way use the module functions to build up
a simpler and easier library