Updated features function