Finished basic implementation. Debugging, dif screen support, and code
cleanup are next.