added comments
added hasVersionFork helper method
added configurable put approach attribute
belongs to last commit
introduced put strategy interface
restructured put strategies