use actual errors
handle unknown custom methods; no need to check nil on Methods