first implemetation of OR