added struct using bitfields