first runable version
dynamic data structure prepared