better control over exits