refactored util classes