restructuring ++ bugfixing ++ extending