added required methods into classes