direct assignment and unassignment