calloac instead malloc + memset
restructing cmake build files