making things a bit more MVC like.  2nd commit