Separated more functions into individual modules.