introducing some modularity to app