added the 'timed' decorator