removed the need to call initialize after create and renamed to construct