introduced new boundary conditions class