prototype of solution