Implementation of some useful tools