public applyConstructor function