add BasicApp interface