dimension changed
some improvement