solves challenges