add dynamically generated edit link; closes #3