Argument munging done with preliminary testing, needs tidying up and a few more tests