Return programs as hash instead of list