Question: I use Sinatra modular style, i don't know what going bad. I serach google but didn't find anything

```
require 'sinatra/base'

class App < Sinatra::Base

  get '/' do
    haml '%h1 Test'
  end

end

run App

```

And a see test.rb:12:in `<main>': undefined method`run' for main:Object (NoMethodError)
What going wrong?

Answer: 
did you run it via ruby -rubygems hi.rb (assuming this code is in hi.rb). If so, you don't need run App. Unless you are running it through another framework built on/with Sinatra.

Also might want to include haml...

You have a config.ru:

```
# config.ru
require 'my_app'
run MyApp

```

and a my\_app.rb:

```
# my_app.rb
require 'sinatra/base'
require 'haml'

class MyApp < Sinatra::Base

get('/') { haml '%h1 Test' }

  # start the server if ruby file executed directly
  run! if app_file == $0
end

```

then in the folder where the my\_app.rb is run this to start the app on localhost:4657:

```
rackup -p 4567

```
Regarding the comment above where the error below is displayed:

```
`start_tcp_server': no acceptor (RuntimeError)

```

This appears when you are trying to bind to an already bound port. Trying a different port number should resolve.