bunch of stuff I didn't add before