Note: Windows build is tested and works. Mac and Linux builds are untested (but if they work well let me know!)