rename method
use static factory method