in reply to alarm function
You can achieve the same result by creating a thread, but it would be a much less cleaner solution. There are examples of this around...