Some large structural changes. Much nicer now.