use pull instead of fetch