test abstract object
test inheritance
test decotrator