refact
improve test