Add more eigen functionality and some renaming