caching image_url and moved concern to a proper place