[Modified] more stable version