some initial work - able to define screens, first directives, not sure if current architecture is nice