Removed CMakeLists.txt for Interface object and broke up source file into functions