some fixed. add 'destroy' method