forced to use object oriented
fix recreate overlayer bug