updated to the latest optional/required list
document bugggggggggggggggggggg
add error friendliness and remove dbg msg