add performance functions