for private js learning