Second commit. Incomplete version.