refactor for us