Reorganized module into more meaningful parts.