TODO on exposing globals (@particlebanana if you dont agree let me know)