implement append node