changed feature generation to get them directly