Append operation appears to be totally working, with use of head and tail pointers