base app as per specification