compatibility and cleanup