moved some stuff around, even though I don't think it's right