Use exceptions for cast failures
Update readme