idk why the diff is a little bit stupid