stubborn self needs to stop being stubborn, switching to true oo pattern
fixed merge conflict