added channel selection and serial init