drained logic