Refractor for new constructor

New constructor