implementing Layered Oriented Architecture - WIP