based off designingsean's repository of same name (not forked)