update readme, refactor