I am studying carbohydrates in organic chemistry and I am confused a bit on what they are and how you recognize whether a molecule is a carbohydrate or not. For example, will a carbohydrate always have an \ce{OH} group with either an aldehyde or a ketone group? Can it also contain other atoms like nitrogen or bromine? Can it have ether, ester?