applied layered architecture