discoverable logic added