first working version, still needs alot of love!