This is kind of hard to follow at sometimes