Well, it works as intended no doubt about it. But I highly suggest setting the default time to something higher than 5 seconds... (30 minimum due to slower systems, among other things related to GDI+ things)
And without seeing the actual source code, I can't help you much with efficiency. (I won't disassemble it, since it's not exactly something I'd need to)