that was way harder then it needed to be