Added some features.
Cleanup.
Attempt to cleanup.
Modified some features.
Added some features. Cleanup.