refactor for style