open to feedback on this, but more related to sizeof() signed vs unsigned rationalization