planConstructor