added monadic operators