elegant overloader