An update for an unfinished project by dmn001