Looks like it's done, need to do some testing first obviously