Done, a few kinks still though