added lambda func, io