adding feature generation