add support for assign/unassign (untested)