huge cleanup, make ansi/pedantic compatible, add git-comment