updated with collision and a few getter correct Ver.