add budget overview and some refactoring