get base functionality working and push to rubygems next