added char control stuff