added comments and random ids

(untested)