added recursive maze solution