refactored generic mod, added few packages and IHasGui