Base functionality
Fixed eager loading to use 'as' to prevent name conflicts when loading model with same name.