solve implemented