refactoring into smaller components and adding currency into price