skeleton of backend code.

currently adds an empty main label