new parameters and edge cases.