redefined what hack()