added TODO to generalize solution