should have the right logic right this time