added debugger
add donor function
remove donor function [not finished]