updated README and refactored