Everything is performed programmatically, without using a model