sorry, limit should be 1 + n