developing plugin system done