first simple version... has styling, templates, and a simple view