sometimes i forgot that this is lua