first implementation of the idea