overloaded esh constructor