edited remove child. need to revise more