updated app skeleton