added #*Optional methods