gitignore
add annotation dispatch
add tests