all thoughts and design of implementaions will reside here