first working version
Init