rework constructors section