initial commit

add composer
add src
add tests