fixed catch method logic