bonus solution with no new variables