fixed some functions for new factor: assignment-consistent