factory refactor
remove unnecessary exceptions
Rename include constants