replace catch-all with specific catches