In progress: Builder or Factory