refactor for psr-0 standard