This commit reflects several days of work and testing. Will remain in this state for several weeks