prototype for another refactor added