switched to using jdk8 optional instead of guava's
removed cache annotaiton 
minor clean up