set constructor