added some features, see changelog