Decoupling application layer