Add tempo module

agreed, I can submit a pull request after this one