re-organize a bit