Initial commit, and after comparition on chepik and kraiv patches.