do not block when n = 0