added some features and definitions