refactor to simplify and reduce verbosity of methods