copied from sinatra-skeleton repo