in/out parameters
random test
optimizations