factory and timer