basic application skeleton