merged with original version