Split the functions into two classes