Add cmake and some improvements.