initial working app with tests