hat constructors