by trial and error + discussed changes

removed cached WebElement, moved type caching to constructor, added By for trial and error