moved loading logic into its own file. 

moved loading logic into its own file. 
exposed some of the loaders functions as methods.
This should resolve issue  #3317