Everything now uses big decimal for consistency