broke up the code some