Continuing work over Invoice and refactoring