Almost final with few bugs!