put return into object
add Abstract class