make codes more compact