refactor/simplify approach