First version, to be modified.