First working iteration, with running sample app