use shift helper methods to avoid errors when using dart2js