updated and test via phpmd, phpcd, phpcpd, phpdcd and phpdoc