Create new implementation for version 2