Final with bugs fixed!