some comments added cuz why nat