reference: add id() to get the sha