basic refactors