added initial eigen functions