support append method