incorporating vprince edits