Implemented required fields and methods