tried working with js but async stuff is a pain so going to static
resolving merge conflicts