some improvs