interface [MAIN Program] <---------> [DATA Module] <---------> data (abstraction layer)