tidied up eval - more or less working (issue with the UI_socket stuff)