various updates, including the Problem class