Split the functions, and re-arange them.