starts to turn this into a module