start implement Assignment Interface