tried to add cases and added let*