The loan pattern using Try monad
Some unnecessary code deleted
Merge result with LoanRefactor