dispose method added