Some ground work. Check out the changes