refactor data fetcher using singleton
user singleton
rename