worked on the spl autoload method