type checking and update readme