added remove and some changes