refactored factorial
add fibonacci without recursion
further refactoring