Some updates, hope I've fixed all bugs.