more major additions and fixes