add more details & fix bugs; image is partly broken