donation implemented but buggy