do some improvement