abstract controller and work on the pdo provider