v 1.0 rebased