replaced return with abort