First very simple version with tests