switch to cmake