added assignment infrastructure