cleaning up style and adding documentation
added coc