finished all the functions but not push IQs