supply logic