worked on a lot of logic