initial implementation
update readme