Reorganized source code into top level make struct