refactort for new feature; update readme;