working on dispose method
working on dispose