Main Plugin Class