Implementation + example of how to use.