A big Update, add some optional setting
Something fix