used getClientId(facesContext) for better speed where possible