Added non-default constructor