make it more general
make it more general