main object loops consolidated in compute method