add usage and make the code cleaner
update readme