add factorial solution