removed a dependency on agpy.timer