first functional version.