Change the contract for append() and prepend()
update dependencies