Adding first functional version