how to extend for custom apps