refactor of fetch methods