final features and cleanup