Add basic/advanced modes to address issues #14, #13 & #9