little optimise
changed doc