This is starting to look messy. I'll stop for now.