publically define constructor and set