added change pass functionality