converted over to cmake for building