not sure if I'm keeping this, seems more complicated than it needs to be