must fix solving premature cases, why cant it work yet :(