proper horizontal logic