more stream lined logic