delegate method replaced with abstract object for compbility