Re-wrote read / prompt routines, solve invisibility with read -s.