Remove string usage
Switch to asserts
Clean up types
Rename fields