initial commit
add some tests