implement "with" things