More separating out of logic