First commit, todo implement eval