Use bit fields for calcmodes and allow multiple arguments