merge last rellla's codes manually. (part2)