rewrote timer, added some features, made libcurl dependency optinal