some moving of logic