refactored model, reference and contentprovider into controllers