typo and improvment