diagonal passing but not refactored