further refactor branch with homog. ens.