make this more like a proper package