Problem-solving with models