compiler off by one error