refactored

No reason on this refactoring, maybe a free sunday morning,
at least we have now use cases, a domain model and few ddd style