basic recursive factorial, still needs work