constructors documentation