add API implementation
add tagged version to spec