class kernel { public $processes; function exec($include) { (!isset($include)) ? print('No such file') : NULL; $class = basename($include); (file_exists($include)) ? include($include) : NULL; $this->processes[] = new $class; /* Flaw: filanames could have ext. Class names don't nessicarally follow file names... */ } } Result. kernel Object ( [processes] => Array ( [0] => init Object ( [processes] => Array ( [0] => getty Object ( [processes] => Array ( [0] => login Object ( [stdin] => Resource id #8 [processes] => ) ) ) ) ) ) ) Expected! kernel Object ( [processes] => Array ( [0] => init Object ( [pid] => null [ppid] => null ) [1] => getty Object ( [pid] => Array ) [0] => login Object ( [stdin] => Resource id #8 ) ) )