final pass, app is working