actually I have to use let! in that case otherwise it's not being evaluated (lazy evaluation)