used return instead of raise