added more defualts and cleaned up some hardcoding