abstract out options processing so maybe I can get execution in VM working.