fix #14 and add gitignore