some refactor, BioProviderResource added