merging sam's and grace's code (again)
merging sam's and grace's code (again)