add additional logic