change readme and minor refactor