Solving design problems