Second commit, not finished but added code.