refactoring compiler & configuration