add header files, add some more naming conventions, remove redundant stuff