change: move plugin core in another class