Author: Noravan.