Re-written some parts (4)