readResource is now static