some improvemnets