optimize timer interface