complited feedback function