fleshing out application object + tests