planning huge refactor, merging physical and logical state, precommit