Reader and Writer refactored in modules