added constructor and modified setters