Rolling back changes. There is a bug here, but I didn't fix it.