various improvements