creating new invoice done
more refactoring and completed invoice.charge