Steps 0-2 implemented.