Initial implementation for v2