edited modules to allow for chaining