add abstract_stats function