added commodity func