all but 3 components functional