feature func updated