a very rudimentary version 1.