tons of changes, file redirection still needs work