Many changes and additions