written untill point 3