third update. Work semi-finished