ref #10 add abstractmodelloader class