maintain interface compatibility across all adapters