add Buffer , singleton pattern and GlobalObject