First version of the "with" functionality