06_functional completed as far as possible