finally implement last assignment