added projection
added eigenlib