Add tagging, closes #2
Refactoring app module