first working version. I shall call it a beta!