lots more improvements