Reorganization of the source code, add overlay feature