app and requirements