made `ret` optional
v0.0.2