update analysis functions