store only changed entries
user agent is optional