changing more function signatures to take individual parameters instead of an array