implement cat api