update the gemspec and add basic functionality