starting on constructor design pattern