re-structure some things