replace AgainException with boolean

boolean is better than throwing and catching exceptions.

ready to be merged.