Cleaned up, added test cases, and added some data definitions.
Added test cases, cleaned up.
Added test cases, cleaned up.