ouch! why do we need it?