assignments implementation