added returns for chaining