all 8 functions now included