Updated to new project, re-wrote everything to match Mac's API