lots more cleanup, organization, etc