- added separate volume control directive
- separated each component into its own file
- removed custom HTML tag names