new features and better abstraction of workflow