logic still isn't right