pls move the declaration to cpp file, I wouldn't like to see this nested