interface change to include total and introduction of pricing rules
refactored components into own files
refactored components into own files