so the better way is to extend this function, isn't it?
we may need similar functionality in some another place later, will we create the 3rd solution then?