fixup
refactor API
update gitignore