further explanation
updated for feature column extraction