added required methods