changes because of the new constructor