added application constructor