maybe it makes sense to memoize the entire image object instead of creating new one now that we have resource getters?