structured application/controller layers