Revert "Revert "3rd version""

This reverts commit 471ba50661372be85cccb5dabeb931c82b93dc5a.
Revert "3rd version"

This reverts commit 5f369ac8da1d7ab0eb3627ac37ca2a6eb8aaad98.