starting to decouple for hexagonal architecture