changed utils into abstract class
refactored fileutil
refactored domain