first working commit / needs code cleanup!