partial completion of version 3