optimized fetchObject func