some useful tools for myself