Abusing Exception we should use checks instead