working on dispose methods