jsf stuff extracted. resolves #9