code refactor, example and gitignore added