incremental changes - preparing for major rewrite