reference names optional (initial commit, still work to do)