rework using new compiler API
added license