timeouts so API management where you know what is the current version of API where we know who is consuming it and who is the owner of it this is a way to go don't treat ideas only as one protocol API so this is what is the domain and layer separation the main separation is domain driven design separation and layer separation is try to keep things controller service and repository to keep them out of each other way so every layer has its own boundary and the boundary shouldn't be crossed if you manage to do this then it's not a