hard logic