Incomplete, but closer to the spec and passes tests (not saying much apparently)