Restructured for cmake build system