#13 James -- added dispensing service
#13 James-- refactoring the dispense service