empty
most of the lambda section done
adde compose
added matrix