Intermediate version of changing implementation paradigm