Massive refactor + working autoplay