rewrite for cleaner fetching