adding gitignore, updating README
add makefile, refactor, add error handling