App structure and API