added assignment callback