cleaner works
refactored to use file utils