A lot needs to be done! I'll rebase and update as soon as I get some spare time!