still working on constructor