move stuff to .h