first draft with style and some functionality