implement append behavior and start extending tests