added random token generation;