Added improved documentation, cleanup, and compression