change implementation of link so that private fields aren't required