add yamo function but it's still buggy