Shield now works. It could use some tweaking, but eh, it works for now