imroved and fixed a bit