added lot of features