registration with new logic