Synced with Natenom's changes