[WIP] moving around functions