Several improvements; See list of commits