do not pass this pointer to timer handler