moved timeago to own class, almost identical to that in dupes