added append/prepend support