make it cmake/modules independed