moving wrappers to header files because kazu says to. literally nothing could possibly break