add some caching, different getters -- TODO: turn this into a more generic class we can use for ecotox