re-organized a bit