135, 291, 315 and 390

new architecture: abstract class Problem