recursive version incr
recursive versioning