many fixs and improvement