Add ExternalApplication model

rolling pull request