Various updates including moving as much as possible into their appropriate modules.