try moving the return outside of the begin/resuce block