added setters for property initialization and added _invalid_argument_value() for displaying error msg