lot of logic