Wow. This post was messy as hell!!!