provides ruby solution, oojs solution