structure based on onion architecture with basic classes