major refector, and now all buttons work and scrolling seems set