add type declarations
update readme