Almost done

Just have to get it working on general