recompiled solution