more basic refactorization