#6 add base screens and layers implementation