Made some improvement according to GWT