Big update and fix many errors