deduct variable names from implementation