This function is the only thing that changed here. Everything else is old.