minor refactor
minor enhance