move to CMake build system && add process method which returns future