Add some documentation and specs