finalish part 1
merging gabe's changes