Rewrite

Rewrite the entire plugin using a better system, fixes many errors and adds more functionality!