return type change to optional