fix all
all return object
add test case