fullconstructor