refactory
more easy used