various improvements *