This is horrible. There has to be a better way that this. There has to be.