ver 23 - stable version

stable version with improved structure