added emptyiterator
adding type variable
semi implement variables
adding missing makefile changes