working on examples, benchmarking and optimization