Adding documentation and specs