Further improved version