Now with self-updating functionality