redoing sinatra with tests