use require_once to avoid redeclare class issue