Cpp 153 refactor