add ApplicationModel implementation + constants