Refactored Charges controller