1st version 'completed'

see changes