UNFINISHED, updated to continue work on PC