restructure a little