append should take on a function