added iterator block
added implicit and explicit blocks
added lamdas
added meta programming contruct inherited