push/pop/shift/unshift now work correctly (and are tested)