fix optional arguments...lots of changes