move delivery to handler