using new Hale::Program and other tweaks