change some convention, especially index function to find property