avoid .shift