adding in a ton of changes