Implement plugin feature, resolve #9