add gitignore
add .gitignore
typeclass implementation