some improvings