Breaking up code into seperate types.