mvc, builder, facroty method, prototype, multiton