This is the actual assignment2! Ignore the rest.