Code is now working! (But missing proper caching, mutations, and sound wave is not entirely correct yet)