refactoring of physical plan constructors