self-assign