cleaned up delegates