initial commit
add tests