Reusable library based off of Obscuracam