refactor app and make use of a base-setup