implemented basic app interface