partial solution for solo challenge