initial app implementation