copied and pasted, made some edits