requires_trun decorator