added new constructor and members