added contains and without functions