more refactor for style