fixed some of this cluster fuck