Refactored summariser. Consists only of func calls