smaller epsilon, fixed prepreocessor value names and a few other things