partial implements cdi