added lots of features