Upload base files

Updated source code prior to clean up and restructuring, improvements
etc..