several fixes.