this is before i messed it all up