merge last rellla's codes manually. (part1)