moved NoError to module scope