updated with edits from Harrison