assignment update + removing unimplemented codes