added cd functionality