more specific class to avoid potential name conflict