Version III complete. refactor