clean version, tests to be written