it's dangerous to do define this after super is called. this might cause problems in case of multiple inheritance.