added environments and extend features.