added 1,2,3 squashed commits