Add the fromVector construction method
Add comments and organise the API