Steps 4 -8 implemented.