rolling hash code added