disposal logic and cleanup