Enabled -Wall and fix many compiler warnings
Rename a method to be clearer
Change an import
Add Read deriving class