First version: calculator