abstract object

add abstract object