cmake works better; still needs work