First commit. Not working. Transforming to OO.