first draft. Button code works, but needs more button types.