enhance command line argument
tiding up
tidied up and fixed tests
update readme to reflect new changes (state attribute and languages command line argument)