Change license, rework headers, and redo data members
Add readme and try to get failing test to pass